package entities;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table
public class PedidoVenta implements Serializable{
	
	@Transient  
	private static final long serialVersionUID = 1L;
	
	private Integer id;
	private List<ItemVenta> items;
	private Integer clienteId;
	private String ofVentaAlias;
	private Long fechaRecepcion; //Vamos a guardar el timestamp
	
	public PedidoVenta(){
		this.items = new ArrayList<ItemVenta>();
	}

	public PedidoVenta(List<ItemVenta> items, Integer clienteId, String ofVentaAlias, Long fechaRecepcion) {
		super();
		this.items = items;
		this.clienteId = clienteId;
		this.ofVentaAlias = ofVentaAlias;
		this.fechaRecepcion = fechaRecepcion;
	}
	
	@Id 
    @GeneratedValue( strategy = GenerationType.IDENTITY)
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	
	@OneToMany(cascade=CascadeType.ALL)
	public List<ItemVenta> getItems() {
		return items;
	}

	public void setItems(List<ItemVenta> items) {
		this.items = items;
	}

	public Integer getClienteId() {
		return clienteId;
	}

	public void setClienteId(Integer clienteId) {
		this.clienteId = clienteId;
	}

	public String getOfVentaAlias() {
		return ofVentaAlias;
	}

	public void setOfVentaAlias(String ofVentaAlias) {
		this.ofVentaAlias = ofVentaAlias;
	}

	public Long getFechaRecepcion() {
		return fechaRecepcion;
	}

	public void setFechaRecepcion(Long fechaRecepcion) {
		this.fechaRecepcion = fechaRecepcion;
	}
	
}
